import request from '@/utils/request';
import { AxiosPromise } from 'axios';

/**
 * 查询生产工单列表
 * @param query
 * @returns {*}
 */

export const listTask = (query?: TaskVO): AxiosPromise<TaskVO[]> => {
  return request({
    url: '/wms/task/list',
    method: 'get',
    params: query
  });
};

/**
 * 查询生产工单详细
 * @param id
 */
export const getTask = (id: number): AxiosPromise<TaskVO> => {
  return request({
    url: '/wms/task/' + id,
    method: 'get'
  });
};

/**
 * 新增生产工单
 * @param data
 */
export const addTask = (data: TaskVO) => {
  return request({
    url: '/wms/task',
    method: 'post',
    data: data
  });
};

/**
 * 修改生产工单
 * @param data
 */
export const updateTask = (data: TaskVO) => {
  return request({
    url: '/wms/task',
    method: 'put',
    data: data
  });
};

/**
 * 删除生产工单
 * @param id
 */
export const delTask = (id: number | (number | undefined)[]) => {
  return request({
    url: '/wms/task/' + id,
    method: 'delete'
  });
};

export interface TaskVO extends BaseEntity, PageQuery {
    /** 任务id */
      id?: number;

    /** 任务名称 */
      taskName?: string;

    /** 计划单号 */
      scheduleLineId?: number;

    /** 排序 */
      sort?: number;

    /** 物品id */
      productId?: number;

    /** 批次号 */
      batchCode?: string;

    /** 开始生产时间 */
      startTime?: string;

    /** 完成生产时间 */
      endTime?: string;

    /** 任务状态 */
      status?: string;

    /** 物品名称 */
    productName?: string;

    /** 生产线 */
    workshopLineId?: number;

}
